import request from '@/utils/request'
const base = 'system/file'

/**
 * 查询FileResource数据列表
 * @param {Object} query - 查询参数
 * @returns {Promise} - Axios请求的Promise对象
 */
export function listFileResource(query) {
  return request({
    url: `${base}/list`,
    method: 'get',
    params: query
  })
}

/**
 * 查询FileResource数据详细
 * @param {number} id - FileResource的唯一标识
 * @returns {Promise} - Axios请求的Promise对象
 */
export function getFileResource(id) {
  return request({
    url: `${base}/${id}`,
    method: 'get'
  })
}


/**
 * 新增FileResource数据
 * @param {Object} data - 新增的FileResource数据
 * @returns {Promise} - Axios请求的Promise对象
 */
export function addFileResource(data) {
  return request({
    url: `${base}`,
    method: 'post',
    data: data
  })
}

/**
 * 修改FileResource数据
 * @param {Object} data - 修改的FileResource数据
 * @returns {Promise} - Axios请求的Promise对象
 */
export function updateFileResource(data) {
  return request({
    url: `${base}`,
    method: 'put',
    data: data
  })
}

/**
 * 删除FileResource数据
 * @param {number|number[]} id - 要删除的FileResource的ID，支持单个ID或ID数组
 * @returns {Promise} - Axios请求的Promise对象
 */
export function delFileResource(ids) {
  return request({
    url: `${base}`,
    method: 'delete',
    data: ids
  })
}

/**
 * 上传FileResource数据
 * @param {number|number[]} id - 要删除的FileResource的ID，支持单个ID或ID数组
 * @returns {Promise} - Axios请求的Promise对象
 */
export function uploadFileResource(data, progress) {
  return request({
    url: `${base}/upload`,
    method: 'post',
    data: data,
    onUploadProgress: progress,
  })
}



/**
 * 修改文件名称
 * @param {Object} data - 修改的File数据
 * @returns {Promise} - Axios请求的Promise对象
 */
export function renameFileResource(data) {
  return request({
    url: `${base}/rename`,
    method: 'put',
    data: data
  })
}

/**
 * 上传FileResource数据的地址
 */
export const uploadUrl = import.meta.env.VITE_APP_BASE_API + '/system/file/upload'
